'''
    猜拳游戏一般包含3种手势:石头,剪刀,布,判定规则为石头胜剪刀,剪刀胜布,布胜石头.本案例要求编写代码,实现基于面向对象思想的人机猜拳游戏
'''
import random
class Rock_paper_scissors:
    def __init__(self):
        self.result = ['石头','剪刀','布']
    def welcom(self):
        while True:
            print('=' * 20)
            print('欢迎来到猜拳游戏')
            print('1.进入游戏:')
            print('2.退出游戏:')
            option = input('请输入数字选择功能:\n')
            if option == '1':
                self.game()
            if option == '2':
                print('游戏结束')
                break

    def game(self):
        while True:
            user_result = input('请输入石头,剪刀或布:\n回到上级菜单请输入0:\n')
            result_li = self.result
            com_result = random.choice(result_li)
            if user_result == '石头':
                if com_result == '石头':
                    print(f'电脑出的是{com_result},平局')
                if com_result == '剪刀':
                    print(f'电脑出的是{com_result},恭喜你赢了')
                if com_result == '布':
                    print(f'电脑出的是{com_result},很遗憾你输了')
            elif user_result == '剪刀':
                if com_result == '石头':
                    print(f'电脑出的是{com_result},很遗憾你输了')
                if com_result == '剪刀':
                    print(f'电脑出的是{com_result},平局')
                if com_result == '布':
                    print(f'电脑出的是{com_result},恭喜你赢了')
            elif user_result == '布':
                if com_result == '石头':
                    print(f'电脑出的是{com_result},恭喜你赢了')
                if com_result == '剪刀':
                    print(f'电脑出的是{com_result},很遗憾你输了')
                if com_result == '布':
                    print(f'电脑出的是{com_result},平局')
            elif user_result == '0':
                print('游戏终止,进入上级菜单')
                break
            else:
                print('输入的内容无效,请重新输入')
if __name__ == '__main__':
    rock_paper_scissors = Rock_paper_scissors()
    rock_paper_scissors.welcom()